Relational database management systems (RDBMs) have been in existence for many years. Historically, these database systems have had limited metadata. Though there was some metadata describing the tables, views and columns, little information existed about the relationships between tables and columns. Much of the semantic information for the database existed either in the user's concept of the database or possibly in a warehouse product
In recent years, on-line analytical processing (OLAP) has become popular. OLAP systems provide more extensive metadata to describe multidimensional abstractions such as dimensions and hierarchies. Some commercial software products have been written to support OLAP.
The implementation of OLAP requires the introduction of additional metadata objects. Databases have been extended to support OLAP by introducing new objects on top of the relational database. Typically, a mechanism is provided to database administrators for defining OLAP objects. Software products use these objects to provide functional or performance improvements. However, the task of defining OLAP objects can be very time consuming. Many of these databases are very large, with many objects, fields, relationships, etc. Furthermore, many older databases have no documentation on the database design and organization. Consequently, database administrators must first analyze their database and then document its characteristics prior to defining the metadata. This time-consuming process requires skilled labor, and can be very expensive. In addition, without access to the original database programmer or documentation, the process of defining OLAP objects can be prone to error.
Users of relational databases having no concept of metadata may wish to take advantage of the higher, multidimensional capability of programs such as OLAP. However, OLAP objects must first be created for those relational databases. What is therefore needed is a system and associated method for quickly, efficiently, and automatically creating the OLAP objects for a relational database that does not have OLAP objects. The need for such a system and method has heretofore remained unsatisfied.